/*
 * Created on Dec 16, 2004
 *
 */
package ca.etsmtl.log120.tp3.tests;

import ca.etsmtl.log120.tp3.cartes.Carte;
import ca.etsmtl.log120.tp3.cartes.CouleurCarte;
import ca.etsmtl.log120.tp3.cartes.Denomination;
import ca.etsmtl.log120.tp3.mains.Main;
import ca.etsmtl.log120.tp3.rangs.Couleur;


/**
 * Ensemble de tests unitaires pour tester l'analyse d'une main qui est une couleur (Flush) de Poker
 * 
 * @author Cris Fuhrman
 */
public class CouleurTest extends AbstractAnalyseurRangTest
{

	public void testEvalueMain()
	{
		/*
		 * Test avec main qui n'est pas une couleur
		 */
		Main main = new Main();
		main.add(new Carte(Denomination.TROIS, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.NEUF, CouleurCarte.PIQUE));
		main.add(new Carte(Denomination.AS, CouleurCarte.TREFLE));
		main.add(new Carte(Denomination.DAME, CouleurCarte.COEUR));
		main.add(new Carte(Denomination.DEUX, CouleurCarte.COEUR));
		
		assertFalse(new Couleur().reconnaitreMain(main));

		/*
		 * Test avec main qui est une couleur
		 */
		main = new Main();
		main.add(new Carte(Denomination.AS, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.NEUF, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.HUIT, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.DAME, CouleurCarte.CARREAU));
		main.add(new Carte(Denomination.DEUX, CouleurCarte.CARREAU));
		
		assertTrue((Boolean) new Couleur().reconnaitreMain(main));
		
		Main main2 = new Main();
		main2.add(new Carte(Denomination.TROIS, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.NEUF, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.ROI, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.DAME, CouleurCarte.CARREAU));
		main2.add(new Carte(Denomination.DEUX, CouleurCarte.CARREAU));
		
		assertEquals(1, main.compareTo(main2));
	}
}

///
